在昨天的文章中,我們學習了如何使用 List(串列) 來儲存多筆資料,並了解 List 是 AI Agent 維護「歷史對話紀錄」的基礎。
不過,如果我們今天想讓 AI 生活助理記錄一個更完整的物件或使用者資訊,單純用 List 往往會遇到問題。
例如,我們用 List 記錄一個人的資訊:
user_info = ["小明", 20, "台北", "晴天"]
如果不看程式碼註解,我們很難一眼看出 20 到底是年齡還是日期?"台北" 又是住址還是目的地?
為了讓資料更有「結構」且「易於閱讀」,我們需要用到 Python 的另一個核心資料結構 —— Dictionary(字典)。
什麼是 Dictionary(字典)?
Dictionary 是一種以 Key-Value(鍵值對) 形式儲存資料的結構。就像我們翻字典時是用「字詞(Key)」去查「解釋(Value)」一樣。
在 Python 中,我們使用大括號 {} 來建立字典:
# 建立一個使用者的資料字典
user_profile = {
"name": "小明",
"age": 20,
"city": "台北",
"budget": 500
}
print(user_profile)
執行結果:{'name': '小明', 'age': 20, 'city': '台北', 'budget': 500}
讀取資料時,我們不需要去記索引號碼 0 或 1,而是直接指定 Key 的名稱:
print(user_profile["name"]) # 取得姓名
print(user_profile["city"]) # 取得城市
執行結果:小明 台北
這樣寫不僅讓程式碼一目瞭然,讀取資料時也更不容易出錯。
靈活運用:修改與新增字典內容
生活助理在幫我們處理事項時,資料會隨時更新。字典的內容是非常容易調整的:
user_profile = {"name": "小明", "city": "台北"}
# 新增欄位
user_profile["weather"] = "下雨"
# 修改既有欄位
user_profile["city"] = "新竹"
print(user_profile)
執行結果:{'name': '小明', 'city': '新竹', 'weather': '下雨'}
Dictionary 與 AI Agent 有什麼關係?
在現代的 AI 應用與 Agent 開發中,Dictionary 可說是使用頻率最高的資料型態,主要體現在以下三個層面:
# 一條典型的 API 對話訊息
message = {
"role": "user",
"content": "幫我查詢台北今天的天氣"
}
把多個這樣的 Dictionary 放在 List 裡面,就成了整個 Agent 的對話歷史
2. 工具呼叫的參數傳遞
當 AI 決定呼叫外部工具(例如:查詢氣象 API)時,AI 回傳給程式的指令通常就是 JSON / Dictionary 格式:
# AI 決定呼叫天氣工具時產生的參數字典
tool_call_args = {
"tool_name": "get_weather",
"location": "Taipei",
"unit": "celsius"
}
Python 程式收到這個 Dictionary 後,就能精準抽取 location 欄位並傳入對應的函數中執行。
今天學到什麼?
今天我們學習了 Python 處理結構化資料的核心工具:
Dictionary(字典):透過 Key-Value 鍵值對來明確標示資料意涵。
存取與修改:使用 dict[key] 來精準取得與更新內容。
在 Agent 中的應用:Dictionary 是 AI API 對話訊息、JSON 資料交換以及 Tool 參數傳遞的基石。
有了變數、條件判斷、串列與字典的概念後,我們已經掌握了基本的資料儲存與邏輯!
下一篇,我們將學習如何把重複使用的程式碼封裝起來 —— Function(函數),這也是未來幫 AI Agent 撰寫「外部工具(Tools)」的關鍵第一步!